/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.far.aus.adm;

import com.far.aus.adm.clas.Auspicio;
import com.far.lib.BaseDatos;
import com.far.lib.DatosDinamicos;
import com.far.lib.Fecha;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Jorge
 */
public class FrmAuspicio extends HttpServlet {

    private String _ip = null;
    private int _puerto = 1433;
    private String _db = null;
    private String _usuario = null;
    private String _clave = null;
    
    private String plan_ip = null;
    private int plan_puerto = 1433;
    private String plan_db = null;
    private String plan_usuario = null;
    private String plan_clave = null;
    
    public void init(ServletConfig config) throws ServletException
    {
        this._ip = config.getServletContext().getInitParameter("_IP");
        this._puerto = Integer.parseInt(config.getServletContext().getInitParameter("_PUERTO"));
        this._db = config.getServletContext().getInitParameter("_DB");
        this._usuario = config.getServletContext().getInitParameter("_USUARIO");
        this._clave = config.getServletContext().getInitParameter("_CLAVE");
        
        this.plan_ip = config.getServletContext().getInitParameter("PLAN_IP");
        this.plan_puerto = Integer.parseInt(config.getServletContext().getInitParameter("PLAN_PUERTO"));
        this.plan_db = config.getServletContext().getInitParameter("PLAN_DB");
        this.plan_usuario = config.getServletContext().getInitParameter("PLAN_USUARIO");
        this.plan_clave = config.getServletContext().getInitParameter("PLAN_CLAVE");
    }
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession sesion = request.getSession(true);
        String usuario_sesion = (String)sesion.getAttribute("usuario");
        
        response.setContentType("text/html;charset=UTF-8");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Expires", "Mon, 01 Jan 2001 00:00:01 GMT");
        response.setHeader("Cache-Control", "no-store");
        response.setHeader("Cache-Control", "must-revalidate");
        response.setHeader("Cache-Control", "no-cache");
        PrintWriter out = response.getWriter();

        String id = request.getParameter("id");
        int alto = request.getParameter("alto")!=null ? Integer.parseInt(request.getParameter("alto")) : 500;
        
        BaseDatos objPlanMercadeo = new BaseDatos(this.plan_ip, this.plan_puerto, this.plan_db, this.plan_usuario, this.plan_clave);
        Auspicio objAuspicio = new Auspicio(this._ip, this._puerto, this._db, this._usuario, this._clave);
        
        String msg = "";
        String num_auspicio = "";
	String fecha_creacion = Fecha.getFecha("SQL");
	String id_tipo_plan = "";
        String ruc = "";
	String proveedor = "";
        String tipo_documento = "";
	String cedula = "";
	String contacto = "";
	String correo = "";
	String subtotal = "";
	String iva = "";
	String total = "";
	String dias_para_vencimiento = "";
	String observacion = "";
        String correo_add = "";
	String adjunto = "";
        int estado = 0;
        String insertar = "aus_actividad_nueva();_('proveedor').focus();";
        if(id.compareTo("-1")!=0){
            insertar = "";
            num_auspicio = id;
            try{
                ResultSet rs = objAuspicio.getAuspicio(id);
                if(rs.next()){
                    //num_auspicio = rs.getString("num_auspicio")!=null ? rs.getString("num_auspicio") : "";
                    fecha_creacion = rs.getString("txt_fecha_creacion")!=null ? rs.getString("txt_fecha_creacion") : "";
                    id_tipo_plan = rs.getString("id_tipo_plan")!=null ? rs.getString("id_tipo_plan") : "";
                    ruc = rs.getString("ruc")!=null ? rs.getString("ruc") : "";
                    proveedor = rs.getString("proveedor")!=null ? rs.getString("proveedor") : "";
                    tipo_documento = rs.getString("tipo_documento")!=null ? rs.getString("tipo_documento") : "02";
                    cedula = rs.getString("cedula")!=null ? rs.getString("cedula") : "";
                    contacto = rs.getString("contacto")!=null ? rs.getString("contacto") : "";
                    correo = rs.getString("correo")!=null ? rs.getString("correo") : "";
                    subtotal = rs.getString("subtotal")!=null ? rs.getString("subtotal") : "";
                    iva = rs.getString("iva")!=null ? rs.getString("iva") : "";
                    total = rs.getString("total")!=null ? rs.getString("total") : "";
                    dias_para_vencimiento = rs.getString("dias_para_vencimiento")!=null ? rs.getString("dias_para_vencimiento") : "";
                    observacion = rs.getString("observacion")!=null ? rs.getString("observacion") : "";
                    correo_add = rs.getString("correo_add")!=null ? rs.getString("correo_add") : "";
                    adjunto = rs.getString("adjunto")!=null ? rs.getString("adjunto") : "";
                    estado = (rs.getString("estado")!=null) ? rs.getInt("estado") : 0;
                    rs.close();
                }
            }catch(Exception e){
                msg = e.getMessage();
            }
        }
        
        String piva = "12";
        String [][] grabaIva = {{"SI","SI"},{"NO","NO"}};
        String [][] tipoDocumento = {{"02","C&eacute;dula"},{"03","Pasaporte"}};
        ResultSet rsPlanes = objPlanMercadeo.consulta("select distinct TP.id_tipo_plan, TP.nombre from tbl_tipo_plan as TP with (nolock) inner join tbl_tipo_plan_usuario as TPU with (nolock) "
                + "on TPU.id_tipo_plan=TP.id_tipo_plan where TP.estado=1 and TPU.alias='"+usuario_sesion+"' order by TP.nombre");
        ResultSet rsFormasPago = objAuspicio.consulta("select id_tipo_forma_pago, forma_pago from tbl_tipo_forma_pago where estado=1 order by forma_pago");
        
        try {
            out.print("obj»vta1_html^foc»proveedor^fun»"+insertar+"^msg»"+msg+"^frm»");
            out.print("<form action=\"FrmAuspicioGuardar\" onsubmit=\"return aus_auspicio_guardar(this)\" autocomplete=\"off\">");
            out.print("<input type=\"hidden\" id=\"id\" name=\"id\" value=\""+id+"\" />");
            out.print("<input type=\"hidden\" id=\"piva\" name=\"piva\" value=\""+piva+"\" />");
            out.print("<input type=\"hidden\" id=\"ruc\" name=\"ruc\" value=\""+ruc+"\" />");
            out.print("<input type=\"hidden\" id=\"limite\" name=\"limite\" value=\"0\" />");
            out.print("<input type=\"hidden\" id=\"son\" name=\"son\" />");
            out.print("<input type=\"hidden\" id=\"hoy\" value=\""+Fecha.getFecha("SQL")+"\" />");
            out.print("<table>");
            out.print("<tr>");
            out.print("<td>Tipo de Plan de Mercadeo: <span class=\"marca\">*</span></td>");
            out.print("<td>"+DatosDinamicos.combo(rsPlanes, "id_tipo_plan", id_tipo_plan, "", " ", 255)+"</td>");
            out.print("<td nowrap> &nbsp;&nbsp; Nro. de Auspicio: <input type=\"text\" id=\"num_auspicio\" name=\"num_auspicio\" value=\""+num_auspicio+"\" readonly size=\"8\" />"
                    + " &nbsp; Fecha de creaci&oacute;n: <input type=\"text\" id=\"fecha_creacion\" name=\"fecha_creacion\" value=\""+fecha_creacion+"\" readonly size=\"8\" /></td>");
            out.print("</tr>");
            
            out.print("<tr>");
            out.print("<td>Proveedor: <span class=\"marca\">*</span> </td>");
            out.print("<td colspan=\"2\"><div id=\"axProveedor\"></div><input type=\"text\" id=\"proveedor\" name=\"proveedor\" value=\""+proveedor+"\" style=\"width:244px\" maxlength=\"200\" "+(id.compareTo("-1")!=0?"readonly":"onkeyup=\"aus_getProveedores();\"")+" /></td>");
            out.print("</tr>");
            
            out.print("<tr>");
            out.print("<td>Contacto: <span class=\"marca\">*</span> </td>");
            out.print("<td><input type=\"text\" id=\"contacto\" name=\"contacto\" value=\""+contacto+"\" style=\"width:244px\" maxlength=\"160\" /></td>");
            out.print("<td> &nbsp;&nbsp; "+DatosDinamicos.combo(tipoDocumento, "tD", tipo_documento, "", "", 100)+" &nbsp; <input type=\"text\" id=\"cedula\" name=\"cedula\" value=\""+cedula+"\" size=\"13\" maxlength=\"13\" /></td>");
            out.print("</tr>");
            
            out.print("<tr>");
            out.print("<td>Correo: <span class=\"marca\">*</span> </td>");
            out.print("<td colspan=\"2\"><input type=\"text\" id=\"correo\" name=\"correo\" value=\""+correo+"\" style=\"width:244px\" maxlength=\"60\" /></td>");
            out.print("</tr>");
            
            out.print("<tr><td colspan=\"3\">");
                out.print("<fieldset><legend>Plan de Actividades Promocionales &nbsp;&nbsp;&nbsp;&nbsp; <div class=\"insertar\" onclick=\"aus_actividad_nueva()\" alt=\"Insertar plan de actividades\" title=\"Insertar plan de actividades\"></div></legend>");
                out.print("<div id=\"axFormaPago\" style=\"display:none\">"+DatosDinamicos.combo(rsFormasPago, "_Xx_", "", "", " ", 116)+"</div>");
                out.print("<div id=\"axGrabaIva\" style=\"display:none\">"+DatosDinamicos.combo(grabaIva, "_Xx_", "", "aus_sumTotales()", "", 56)+"</div>");
                out.print("<div class=\"tabla\">");
                    out.print("<div class=\"fila\">");
                        out.print("<div class=\"columnaTH\" style=\"width:330px;\">Plan de Actividades</div>");
                        out.print("<div class=\"columnaTH\" style=\"width:100px;\">Desde</div>");
                        out.print("<div class=\"columnaTH\" style=\"width:100px;\">Hasta</div>");
                        out.print("<div class=\"columnaTH\" style=\"width:60px;\">Graba IVA</div>");
                        out.print("<div class=\"columnaTH\" style=\"width:70px;\">Sub-total</div>");
                        out.print("<div class=\"columnaTH\" style=\"width:70px;\">IVA</div>");
                        out.print("<div class=\"columnaTH\" style=\"width:70px;\">Total</div>");
                        out.print("<div class=\"columnaTH\" style=\"width:120px;\">Forma de pago</div>");
                    out.print("</div>");
                out.print("</div>");
                
                out.print("<div id=\"scroll\" style=\"overflow:auto;width:986px;height:"+(alto-405)+"px;\"><div class=\"tabla\" id=\"tabla\">");
                try{
                    ResultSet rsActividades = objAuspicio.getPlanActividades(id);
                    StringBuilder html = new StringBuilder();
                    int i=0;
                    String plan_actividad;
                    String fecha_desde;
                    String fecha_hasta;
                    String graba_iva;
                    String asubtotal;
                    String aiva;
                    String atotal;
                    String id_tipo_forma_pago;
                    while(rsActividades.next()){
                        plan_actividad = rsActividades.getString("plan_actividad")!=null ? rsActividades.getString("plan_actividad") : "";
                        fecha_desde = rsActividades.getString("txt_fecha_desde")!=null ? rsActividades.getString("txt_fecha_desde") : "";
                        fecha_hasta = rsActividades.getString("txt_fecha_hasta")!=null ? rsActividades.getString("txt_fecha_hasta") : "";
                        graba_iva = rsActividades.getString("graba_iva")!=null ? rsActividades.getString("graba_iva") : "";
                        asubtotal = rsActividades.getString("subtotal")!=null ? rsActividades.getString("subtotal") : "";
                        aiva = rsActividades.getString("iva")!=null ? rsActividades.getString("iva") : "";
                        atotal = rsActividades.getString("total")!=null ? rsActividades.getString("total") : "";
                        id_tipo_forma_pago = rsActividades.getString("id_tipo_forma_pago")!=null ? rsActividades.getString("id_tipo_forma_pago") : "";
                        String altoCelda = "50";
                        html.append("<div class='fila' id='fila"+i+"'>");
                        html.append("<div class='columna' style='width:330px;height:"+altoCelda+"px'><textarea id='plan_actividad"+i+"' name='plan_actividad"+i+"' style='width:325px;height:44px'>"+plan_actividad+"</textarea></div>");
                        html.append("<div class='columna' style='width:100px;height:"+altoCelda+"px'><input id='fecha_desde"+i+"' name='fecha_desde"+i+"' type='text' value='"+fecha_desde+"' style='width:60px;' maxlength='10' onkeypress=\"_evaluar(event, '0123456789/');\" onfocus='this.select();' />" +
                            "<input type=\"button\" value=\"...\" onClick=\"SelectorFecha.crear('fecha_desde"+i+"', 'SQL');\" /></div>");
                        html.append("<div class='columna' style='width:100px;height:"+altoCelda+"px'><input id='fecha_hasta"+i+"' name='fecha_hasta"+i+"' type='text' value='"+fecha_hasta+"' style='width:60px;' maxlength='10' onkeypress=\"_evaluar(event, '0123456789/');\" onfocus='this.select();' />" +
                            "<input type=\"button\" value=\"...\" onClick=\"SelectorFecha.crear('fecha_hasta"+i+"', 'SQL');\" /></div>");
                        html.append("<div class='columna' style='width:60px;height:"+altoCelda+"px'>"+DatosDinamicos.combo(grabaIva, "graba_iva"+i, graba_iva, "aus_sumTotales()", "", 56)+"</div>");
                        html.append("<div class='columna' style='width:70px;height:"+altoCelda+"px'><input id='subtotal"+i+"' name='subtotal"+i+"' type='text' value='"+asubtotal+"' style='width:65px;text-align:right;' maxlength='13' onkeypress=\"_evaluar(event, '0123456789.');\" onkeyup=\"aus_sumTotales();\" /></div>");
                        html.append("<div class='columna' style='width:70px;height:"+altoCelda+"px'><input id='iva"+i+"' name='iva"+i+"' type='text' value='"+aiva+"' style='width:65px;text-align:right;' maxlength='13' onkeypress=\"_evaluar(event, '0123456789.');\" onkeyup=\"aus_sumTotales();\" /></div>");
                        html.append("<div class='columna' style='width:70px;height:"+altoCelda+"px'><input id='total"+i+"' name='total"+i+"' type='text' value='"+atotal+"' style='width:65px;text-align:right;' maxlength='13' onkeypress=\"_evaluar(event, '0123456789.');\" onkeyup=\"aus_sumTotales();\" /></div>");
                        html.append("<div class='columna' style='width:120px;height:"+altoCelda+"px'>"+DatosDinamicos.combo(rsFormasPago, "id_tipo_forma_pago"+i, id_tipo_forma_pago, "", "", 116)+"</div>");
                        html.append("<div class='columna' style='width:20px;height:"+altoCelda+"px'><div class='borrar' title='Eliminar' onclick=\"_R('fila"+i+"');aus_sumTotales();\">&nbsp;</div></div>");
                        html.append("</div>");
                        i++;
                    }
                    out.print(html);
                }catch(Exception e){
                    e.printStackTrace();
                }
                out.print("</div></div>");
                
                out.print("<div class=\"tabla\">");
                    out.print("<div class=\"fila\">");
                        out.print("<div class=\"columna\" style=\"width:598px;border:0px;text-align:right\">Total &nbsp;&nbsp;&nbsp; </div>");
                        out.print("<div class=\"columna\" style=\"width:70px;border:0px\"><input id='subtotal' name='subtotal' type='text' style='width:65px;text-align:right;' value=\""+subtotal+"\" readonly /></div>");
                        out.print("<div class=\"columna\" style=\"width:70px;border:0px\"><input id='iva' name='iva' type='text' style='width:65px;text-align:right;' value=\""+iva+"\" readonly /></div>");
                        out.print("<div class=\"columna\" style=\"width:70px;border:0px\"><input id='total' name='total' type='text' style='width:65px;text-align:right;' value=\""+total+"\" readonly /></div>");
                    out.print("</div>");
                out.print("</div>");
                
                out.print("</fieldset>");
            out.print("</td></tr>");
            
            out.print("<tr>");
            out.print("<td>Fecha de Pago: <span class=\"marca\">*</span> </td>");
            out.print("<td><input type=\"text\" id=\"dias_para_vencimiento\" name=\"dias_para_vencimiento\" value=\""+dias_para_vencimiento+"\" size=\"5\" maxlength=\"3\" onkeypress=\"_evaluar(event, '0123456789')\" /> D&iacute;as</td>");
            out.print("<td>Observaciones <br /> <textarea id=\"observacion\" name=\"observacion\" style=\"width:544px;height:40px\" wrap=\"soft\">"+observacion+"</textarea></td>");
            out.print("</tr>");
            
            out.print("<tr>");
            out.print("<td>Correos adicionales: </td>");
            out.print("<td colspan=\"2\"><input type=\"text\" id=\"correo_add\" name=\"correo_add\" value=\""+correo_add+"\" style=\"width:810px\" /></td>");
            out.print("</tr>");
            
            out.print("<tr>");
            out.print("<td id=\"ax_adjunto\" colspan=\"2\" align=\"right\"><input type=\"text\" id=\"adjunto\" name=\"adjunto\" style=\"width:259px;border-color:#ffffff;\" value=\""+adjunto+"\" readonly />");
            if(estado!=2){
                if(estado==0 || estado==1){
                    out.print("<td align=\"right\"><input type=\"button\" value=\"Adjuntar archivo\" onclick=\"adjuntarArchivo('ProcesaTransferirAdjunto');\" />");
                }
                if(id.compareTo("-1")!=0){
                    out.print(" &nbsp; <input type=\"button\" value=\"Imprimir\" onclick=\"aus_frm_imprimir('"+id+"')\" />");
                }
                if(estado==0 || estado==1){
                    out.print(" &nbsp; <input type=\"submit\" value=\"Guardar\" />");
                }
            }
            out.print("</td>");
            out.print("</tr>");
            
            out.print("</table>");
            out.print("</form>");
        } finally {
            objPlanMercadeo.cerrar();
            objAuspicio.cerrar();
            out.close();
        }
        
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
